<?php
/**
 * Created by PhpStorm.
 * User: songs
 * Date: 2020/8/30
 * Time: 16:58
 */

namespace app\components;

use yii\base\Widget;
use Yii;
/**
 *  $view->setClass=UsersBaseGsModel::class;
$view->setId='uid';
$view->fieldList=[
'com_name'=>[
'view'=>ViewHtmlAuto::viewText  //如果是ViewHtmlAuto::viewText,可以省略
],
'legal_name'=>[
'view'=>ViewHtmlAuto::viewText
],
'legal_sex'=>[
'view'=>ViewHtmlAuto::viewSex
],
'legal_mobile'=>[
'view'=>ViewHtmlAuto::viewText
],
'com_tel'=>[
'view'=>ViewHtmlAuto::viewText
],
'comCity'=>[
'view'=>ViewHtmlAuto::viewText
],
'com_address'=>[
'view'=>ViewHtmlAuto::viewText
],
'nianxiaoshou'=>[
'view'=>ViewHtmlAuto::viewText
],
'detail'=>[
'view'=>ViewHtmlAuto::viewTextarea
],
];
*/

class ViewHtmlAuto extends  Widget
{
    /**
     * 文本输入框
     */
    const viewText='viewText';
    /**
     * 性别选择
     */
    const viewSex='viewSex';
    /**
     * 多行输入框
     */
    const viewTextarea='viewTextarea';

    /**
     * 基本信息显示的列表的某项链接
    */
    const viewBaseLableA='viewBaseLableA';

    /**
     * 显示图片信息
    */
    const viewPic='viewPic';


    /**
     * 用于保存的对象模型
    */
    public $setClass=null;
    /**
     * 主索引值
    */
    public $setId='id';
    /**
     * 字段列表
    */
    public $fieldList=null;

    public $readOnly=false;

    /**
     * 获取存储对象
    */
    public function getModel(){
        $id=$_GET[$this->setId]??'';
        if($id==''){
            return new $this->setClass;
        }
        $where=[];
        $where[$this->setId]=$id;
       // print_r($where);exit;
     //   var_dump($this->setClass::find()->where($where)->one());exit;
        return $this->setClass::find()->where($where)->one();
    }

    /**
     * 保存数据或者输出
    */
    public function out($obj){
        $method=$_SERVER['REQUEST_METHOD'];
        if($method==='POST'){
            $this->update();
        }
        $html=$this->render("viewhtmlauto");
        return $obj->renderContent($html);
    }

    /**
     * 保存当前的数据
    */
    private function update(){
        $model=$this->getModel();
        foreach($this->fieldList as $key=>$vo){
            $model[$key]=\Yii::$app->request->post($key);
        }
        if($model->update()===false){
            Fun::showmsg("保存错误".API::tostr($model->getErrors()));
        }
        API::echo_json(0,'保存成功');
    }



}